A storage area network (SAN) is an architecture to attach remote storage devices to servers in such a way that the storage devices appear as locally attached to the operating system. Storage area networks may be used for enabling multiple applications on servers access to data stored in consolidated shared storage infrastructures. Enterprises are deploying increasingly large-scale SANs in order to gain economies-of-scale business benefits, and are performing and planning massive business-critical migration processes to these new environments.
Enterprise SANs are increasingly supporting most of the business critical applications in enterprises. These SAN are increasingly large and complex. A typical SAN environment may contain a few hundred servers and tens of switches and storage devices of different types. Furthermore these SAN environments are undergoing a large amount of change and growth. This large size and rate of growth of SANs leads to huge added complexity. The number of components and links which may be associated with the data transfer from each given application and one or more of its data units (LUNs—stored on one or more shared storage devices) may increase exponentially with the size of the SAN.
This complexity, which is compounded by the heterogeneity of the different SAN devices, leads to high risk and inefficiency. Changes to the SAN (which need to happen often due to the natural growth of the SAN) take a long time to complete by groups of SAN managers, and are error-prone. For example, in many existing SAN environments a routine change such as adding a new server or a switch to the SAN may take a day to a week depending on the complexity. Further businesses may not be willing to have a down time even in the order of hours depending on their business continuity requirements.
One of the main reasons for these problems in SANs is a consequence of the fact that applications and data LUNs, the end-points in SAN flows, have a relatively strong exclusive access relationship, involving a fabric (constituting one or more switches) in the flow paths. That is, each application on a SAN-connected host typically requires access (often exclusive access) only to some specific SAN data units (LUNs). Consequently, in storage area networks each source end point (application on a host) will typically need to interact only (and often exclusively) with a specific, small minority of target end points (LUNs on storage devices), ever.
However that access relationship and its related access characteristics actually need to be realized by setting up multiple underlying devices of different types. These underlying operations include multiple physical and logical basic set up actions (sometime tens per a single logical change) which need to be set up in different locations and device types, with perfect mutual consistency.
Other features of the present embodiments will be apparent from the accompanying drawings and from the detailed description that follow.